package com.wgy.day25.Collections集合工具类;

import java.util.ArrayList;
import java.util.Collections;

public class Demo02CollectionsSort {
    public static void main(String[] args) {
        ArrayList<Integer> list01 = new ArrayList<>();
        list01.add(1);
        list01.add(3);
        list01.add(2);
        System.out.println(list01); //[1, 3, 2]
        //对集合按照默认顺序进行排列
        Collections.sort(list01);
        System.out.println(list01);//[1, 2, 3] 默认是升序

        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("c");
        list.add("b");
        System.out.println(list);//[a, c, b]
        Collections.sort(list);
        System.out.println(list);//[a, b, c]


        ArrayList<Person> list02 = new ArrayList<>();
        list02.add(new Person("张三", 18));
        list02.add(new Person("李四", 20));
        list02.add(new Person("王五", 15));
        System.out.println(list02);//[Person{name='张三', age=18}, Person{name='李四', age=20}, Person{name='王五', age=15}]

        //    Collections.sort(list02); 错误写法 因为Person类没有实现Comparable接口,没有定义排序的规则就没法进行排序
        //    Person类重写compareTo方法 按照年龄的升序或者降序排列
        Collections.sort(list02);
        System.out.println(list02);//年龄的降序  [Person{name='李四', age=20}, Person{name='张三', age=18}, Person{name='王五', age=15}]
        //年龄的升序   [Person{name='王五', age=15}, Person{name='张三', age=18}, Person{name='李四', age=20}]

    }
}
